Termination w.r.t. Q of the following Term Rewriting System could be proven:

Q restricted rewrite system:
The TRS R consists of the following rules:

rec(rec(x)) → sent(rec(x))
rec(sent(x)) → sent(rec(x))
rec(no(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
no(up(x)) → up(no(x))
top(rec(up(x))) → top(check(rec(x)))
top(sent(up(x))) → top(check(rec(x)))
top(no(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
check(no(x)) → no(check(x))
check(no(x)) → no(x)

Q is empty.


QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
  ↳ QTRS Reverse

Q restricted rewrite system:
The TRS R consists of the following rules:

rec(rec(x)) → sent(rec(x))
rec(sent(x)) → sent(rec(x))
rec(no(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
no(up(x)) → up(no(x))
top(rec(up(x))) → top(check(rec(x)))
top(sent(up(x))) → top(check(rec(x)))
top(no(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
check(no(x)) → no(check(x))
check(no(x)) → no(x)

Q is empty.

We have reversed the following QTRS:
The set of rules R is

rec(rec(x)) → sent(rec(x))
rec(sent(x)) → sent(rec(x))
rec(no(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
no(up(x)) → up(no(x))
top(rec(up(x))) → top(check(rec(x)))
top(sent(up(x))) → top(check(rec(x)))
top(no(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
check(no(x)) → no(check(x))
check(no(x)) → no(x)

The set Q is empty.
We have obtained the following QTRS:

rec(rec(x)) → rec(sent(x))
sent(rec(x)) → rec(sent(x))
no(rec(x)) → rec(sent(x))
bot'(rec(x)) → bot'(sent(up(x)))
up(rec(x)) → rec(up(x))
up(sent(x)) → sent(up(x))
up(no(x)) → no(up(x))
up(rec(top(x))) → rec(check(top(x)))
up(sent(top(x))) → rec(check(top(x)))
up(no(top(x))) → rec(check(top(x)))
up(check(x)) → check(up(x))
sent(check(x)) → check(sent(x))
rec(check(x)) → check(rec(x))
no(check(x)) → check(no(x))
no(check(x)) → no(x)

The set Q is empty.

↳ QTRS
  ↳ QTRS Reverse
QTRS
  ↳ RRRPoloQTRSProof
  ↳ QTRS Reverse

Q restricted rewrite system:
The TRS R consists of the following rules:

rec(rec(x)) → rec(sent(x))
sent(rec(x)) → rec(sent(x))
no(rec(x)) → rec(sent(x))
bot'(rec(x)) → bot'(sent(up(x)))
up(rec(x)) → rec(up(x))
up(sent(x)) → sent(up(x))
up(no(x)) → no(up(x))
up(rec(top(x))) → rec(check(top(x)))
up(sent(top(x))) → rec(check(top(x)))
up(no(top(x))) → rec(check(top(x)))
up(check(x)) → check(up(x))
sent(check(x)) → check(sent(x))
rec(check(x)) → check(rec(x))
no(check(x)) → check(no(x))
no(check(x)) → no(x)

Q is empty.

The following Q TRS is given: Q restricted rewrite system:
The TRS R consists of the following rules:

rec(rec(x)) → sent(rec(x))
rec(sent(x)) → sent(rec(x))
rec(no(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
no(up(x)) → up(no(x))
top(rec(up(x))) → top(check(rec(x)))
top(sent(up(x))) → top(check(rec(x)))
top(no(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
check(no(x)) → no(check(x))
check(no(x)) → no(x)

Q is empty.
The following rules can be removed by the rule removal processor [15] because they are oriented strictly by a polynomial ordering:

rec(no(x)) → sent(rec(x))
top(no(up(x))) → top(check(rec(x)))
Used ordering:
Polynomial interpretation [25]:

POL(bot) = 0   
POL(check(x1)) = x1   
POL(no(x1)) = 1 + x1   
POL(rec(x1)) = x1   
POL(sent(x1)) = x1   
POL(top(x1)) = 2·x1   
POL(up(x1)) = x1   




↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
QTRS
      ↳ RRRPoloQTRSProof
  ↳ QTRS Reverse

Q restricted rewrite system:
The TRS R consists of the following rules:

rec(rec(x)) → sent(rec(x))
rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
no(up(x)) → up(no(x))
top(rec(up(x))) → top(check(rec(x)))
top(sent(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
check(no(x)) → no(check(x))
check(no(x)) → no(x)

Q is empty.

The following Q TRS is given: Q restricted rewrite system:
The TRS R consists of the following rules:

rec(rec(x)) → sent(rec(x))
rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
no(up(x)) → up(no(x))
top(rec(up(x))) → top(check(rec(x)))
top(sent(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
check(no(x)) → no(check(x))
check(no(x)) → no(x)

Q is empty.
The following rules can be removed by the rule removal processor [15] because they are oriented strictly by a polynomial ordering:

rec(rec(x)) → sent(rec(x))
top(rec(up(x))) → top(check(rec(x)))
Used ordering:
Polynomial interpretation [25]:

POL(bot) = 0   
POL(check(x1)) = x1   
POL(no(x1)) = x1   
POL(rec(x1)) = 1 + x1   
POL(sent(x1)) = x1   
POL(top(x1)) = x1   
POL(up(x1)) = 1 + x1   




↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
QTRS
          ↳ RRRPoloQTRSProof
  ↳ QTRS Reverse

Q restricted rewrite system:
The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
no(up(x)) → up(no(x))
top(sent(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
check(no(x)) → no(check(x))
check(no(x)) → no(x)

Q is empty.

The following Q TRS is given: Q restricted rewrite system:
The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
no(up(x)) → up(no(x))
top(sent(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
check(no(x)) → no(check(x))
check(no(x)) → no(x)

Q is empty.
The following rules can be removed by the rule removal processor [15] because they are oriented strictly by a polynomial ordering:

no(up(x)) → up(no(x))
Used ordering:
Polynomial interpretation [25]:

POL(bot) = 0   
POL(check(x1)) = x1   
POL(no(x1)) = 2·x1   
POL(rec(x1)) = 1 + 2·x1   
POL(sent(x1)) = x1   
POL(top(x1)) = x1   
POL(up(x1)) = 1 + 2·x1   




↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
QTRS
              ↳ RRRPoloQTRSProof
  ↳ QTRS Reverse

Q restricted rewrite system:
The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
top(sent(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
check(no(x)) → no(check(x))
check(no(x)) → no(x)

Q is empty.

The following Q TRS is given: Q restricted rewrite system:
The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
top(sent(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
check(no(x)) → no(check(x))
check(no(x)) → no(x)

Q is empty.
The following rules can be removed by the rule removal processor [15] because they are oriented strictly by a polynomial ordering:

check(no(x)) → no(check(x))
check(no(x)) → no(x)
Used ordering:
Polynomial interpretation [25]:

POL(bot) = 0   
POL(check(x1)) = 2·x1   
POL(no(x1)) = 2 + 2·x1   
POL(rec(x1)) = x1   
POL(sent(x1)) = x1   
POL(top(x1)) = 2·x1   
POL(up(x1)) = 2·x1   




↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
QTRS
                  ↳ DependencyPairsProof
  ↳ QTRS Reverse

Q restricted rewrite system:
The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
top(sent(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))

Q is empty.

Using Dependency Pairs [1,15] we result in the following initial DP problem:
Q DP problem:
The TRS P consists of the following rules:

CHECK(rec(x)) → CHECK(x)
TOP(sent(up(x))) → TOP(check(rec(x)))
CHECK(sent(x)) → CHECK(x)
REC(sent(x)) → REC(x)
REC(sent(x)) → SENT(rec(x))
TOP(sent(up(x))) → CHECK(rec(x))
CHECK(sent(x)) → SENT(check(x))
TOP(sent(up(x))) → REC(x)
SENT(up(x)) → SENT(x)
REC(bot) → SENT(bot)
REC(up(x)) → REC(x)
CHECK(up(x)) → CHECK(x)
CHECK(rec(x)) → REC(check(x))

The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
top(sent(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
QDP
                      ↳ DependencyGraphProof
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

CHECK(rec(x)) → CHECK(x)
TOP(sent(up(x))) → TOP(check(rec(x)))
CHECK(sent(x)) → CHECK(x)
REC(sent(x)) → REC(x)
REC(sent(x)) → SENT(rec(x))
TOP(sent(up(x))) → CHECK(rec(x))
CHECK(sent(x)) → SENT(check(x))
TOP(sent(up(x))) → REC(x)
SENT(up(x)) → SENT(x)
REC(bot) → SENT(bot)
REC(up(x)) → REC(x)
CHECK(up(x)) → CHECK(x)
CHECK(rec(x)) → REC(check(x))

The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
top(sent(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 4 SCCs with 6 less nodes.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

SENT(up(x)) → SENT(x)

The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
top(sent(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                            ↳ UsableRulesProof
QDP
                            ↳ UsableRulesProof
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

SENT(up(x)) → SENT(x)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
QDP
                                ↳ UsableRulesReductionPairsProof
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

SENT(up(x)) → SENT(x)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the usable rules with reduction pair processor [15] with a polynomial ordering [25], all dependency pairs and the corresponding usable rules [17] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well.

The following dependency pairs can be deleted:

SENT(up(x)) → SENT(x)
No rules are removed from R.

Used ordering: POLO with Polynomial interpretation [25]:

POL(SENT(x1)) = 2·x1   
POL(up(x1)) = 2·x1   



↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
                              ↳ QDP
                                ↳ UsableRulesReductionPairsProof
QDP
                                    ↳ PisEmptyProof
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
  ↳ QTRS Reverse

Q DP problem:
P is empty.
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
                          ↳ QDP
                          ↳ QDP
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

REC(up(x)) → REC(x)
REC(sent(x)) → REC(x)

The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
top(sent(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                            ↳ UsableRulesProof
QDP
                            ↳ UsableRulesProof
                          ↳ QDP
                          ↳ QDP
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

REC(up(x)) → REC(x)
REC(sent(x)) → REC(x)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
QDP
                                ↳ UsableRulesReductionPairsProof
                          ↳ QDP
                          ↳ QDP
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

REC(up(x)) → REC(x)
REC(sent(x)) → REC(x)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the usable rules with reduction pair processor [15] with a polynomial ordering [25], all dependency pairs and the corresponding usable rules [17] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well.

The following dependency pairs can be deleted:

REC(up(x)) → REC(x)
REC(sent(x)) → REC(x)
No rules are removed from R.

Used ordering: POLO with Polynomial interpretation [25]:

POL(REC(x1)) = 2·x1   
POL(sent(x1)) = 2·x1   
POL(up(x1)) = 2·x1   



↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
                              ↳ QDP
                                ↳ UsableRulesReductionPairsProof
QDP
                                    ↳ PisEmptyProof
                          ↳ QDP
                          ↳ QDP
  ↳ QTRS Reverse

Q DP problem:
P is empty.
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
                          ↳ QDP
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

CHECK(rec(x)) → CHECK(x)
CHECK(up(x)) → CHECK(x)
CHECK(sent(x)) → CHECK(x)

The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
top(sent(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                            ↳ UsableRulesProof
QDP
                            ↳ UsableRulesProof
                          ↳ QDP
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

CHECK(rec(x)) → CHECK(x)
CHECK(up(x)) → CHECK(x)
CHECK(sent(x)) → CHECK(x)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
QDP
                                ↳ UsableRulesReductionPairsProof
                          ↳ QDP
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

CHECK(rec(x)) → CHECK(x)
CHECK(up(x)) → CHECK(x)
CHECK(sent(x)) → CHECK(x)

R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the usable rules with reduction pair processor [15] with a polynomial ordering [25], all dependency pairs and the corresponding usable rules [17] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well.

The following dependency pairs can be deleted:

CHECK(rec(x)) → CHECK(x)
CHECK(up(x)) → CHECK(x)
CHECK(sent(x)) → CHECK(x)
No rules are removed from R.

Used ordering: POLO with Polynomial interpretation [25]:

POL(CHECK(x1)) = 2·x1   
POL(rec(x1)) = 2·x1   
POL(sent(x1)) = 2·x1   
POL(up(x1)) = 2·x1   



↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
                              ↳ QDP
                                ↳ UsableRulesReductionPairsProof
QDP
                                    ↳ PisEmptyProof
                          ↳ QDP
  ↳ QTRS Reverse

Q DP problem:
P is empty.
R is empty.
Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

TOP(sent(up(x))) → TOP(check(rec(x)))

The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
top(sent(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                            ↳ UsableRulesProof
QDP
                            ↳ UsableRulesProof
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

TOP(sent(up(x))) → TOP(check(rec(x)))

The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
sent(up(x)) → up(sent(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We can use the usable rules and reduction pair processor [15] with the Ce-compatible extension of the polynomial order that maps every function symbol to the sum of its argument. Then, we can delete all non-usable rules [17] from R.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
QDP
                                ↳ Narrowing
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

TOP(sent(up(x))) → TOP(check(rec(x)))

The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
sent(up(x)) → up(sent(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By narrowing [15] the rule TOP(sent(up(x))) → TOP(check(rec(x))) at position [0] we obtained the following new rules:

TOP(sent(up(sent(x0)))) → TOP(check(sent(rec(x0))))
TOP(sent(up(x0))) → TOP(rec(check(x0)))
TOP(sent(up(up(x0)))) → TOP(check(up(rec(x0))))
TOP(sent(up(bot))) → TOP(check(up(sent(bot))))



↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
                              ↳ QDP
                                ↳ Narrowing
QDP
                                    ↳ DependencyGraphProof
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

TOP(sent(up(sent(x0)))) → TOP(check(sent(rec(x0))))
TOP(sent(up(x0))) → TOP(rec(check(x0)))
TOP(sent(up(up(x0)))) → TOP(check(up(rec(x0))))
TOP(sent(up(bot))) → TOP(check(up(sent(bot))))

The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
sent(up(x)) → up(sent(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 1 less node.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
QDP
                                        ↳ QDPOrderProof
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

TOP(sent(up(sent(x0)))) → TOP(check(sent(rec(x0))))
TOP(sent(up(x0))) → TOP(rec(check(x0)))
TOP(sent(up(up(x0)))) → TOP(check(up(rec(x0))))

The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
sent(up(x)) → up(sent(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We use the reduction pair processor [15].


The following pairs can be oriented strictly and are deleted.


TOP(sent(up(up(x0)))) → TOP(check(up(rec(x0))))
The remaining pairs can at least be oriented weakly.

TOP(sent(up(sent(x0)))) → TOP(check(sent(rec(x0))))
TOP(sent(up(x0))) → TOP(rec(check(x0)))
Used ordering: Polynomial Order [21,25] with Interpretation:

POL( check(x1) ) = x1


POL( sent(x1) ) = 1


POL( TOP(x1) ) = x1 + 1


POL( bot ) = max{0, -1}


POL( up(x1) ) = max{0, -1}


POL( rec(x1) ) = 1



The following usable rules [17] were oriented:

rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
rec(sent(x)) → sent(rec(x))
check(rec(x)) → rec(check(x))
sent(up(x)) → up(sent(x))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))



↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ QDPOrderProof
QDP
                                            ↳ SemLabProof
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

TOP(sent(up(sent(x0)))) → TOP(check(sent(rec(x0))))
TOP(sent(up(x0))) → TOP(rec(check(x0)))

The TRS R consists of the following rules:

rec(sent(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
sent(up(x)) → up(sent(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
We found the following model for the rules of the TRS R. Interpretation over the domain with elements from 0 to 1.bot: 0
rec: x0
check: 1
sent: x0
TOP: 0
up: x0
By semantic labelling [33] we obtain the following labelled TRS:Q DP problem:
The TRS P consists of the following rules:

TOP.0(sent.0(up.0(x0))) → TOP.1(rec.1(check.0(x0)))
TOP.1(sent.1(up.1(x0))) → TOP.1(rec.1(check.1(x0)))
TOP.0(sent.0(up.0(sent.0(x0)))) → TOP.1(check.0(sent.0(rec.0(x0))))
TOP.1(sent.1(up.1(sent.1(x0)))) → TOP.1(check.1(sent.1(rec.1(x0))))

The TRS R consists of the following rules:

rec.0(sent.0(x)) → sent.0(rec.0(x))
check.1(up.1(x)) → up.1(check.1(x))
check.1(sent.1(x)) → sent.1(check.1(x))
rec.0(bot.) → up.0(sent.0(bot.))
check.0(rec.0(x)) → rec.1(check.0(x))
check.1(rec.1(x)) → rec.1(check.1(x))
rec.0(up.0(x)) → up.0(rec.0(x))
check.0(up.0(x)) → up.1(check.0(x))
rec.1(up.1(x)) → up.1(rec.1(x))
sent.1(up.1(x)) → up.1(sent.1(x))
rec.1(sent.1(x)) → sent.1(rec.1(x))
sent.0(up.0(x)) → up.0(sent.0(x))
check.0(sent.0(x)) → sent.1(check.0(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ QDPOrderProof
                                          ↳ QDP
                                            ↳ SemLabProof
QDP
                                                ↳ DependencyGraphProof
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

TOP.0(sent.0(up.0(x0))) → TOP.1(rec.1(check.0(x0)))
TOP.1(sent.1(up.1(x0))) → TOP.1(rec.1(check.1(x0)))
TOP.0(sent.0(up.0(sent.0(x0)))) → TOP.1(check.0(sent.0(rec.0(x0))))
TOP.1(sent.1(up.1(sent.1(x0)))) → TOP.1(check.1(sent.1(rec.1(x0))))

The TRS R consists of the following rules:

rec.0(sent.0(x)) → sent.0(rec.0(x))
check.1(up.1(x)) → up.1(check.1(x))
check.1(sent.1(x)) → sent.1(check.1(x))
rec.0(bot.) → up.0(sent.0(bot.))
check.0(rec.0(x)) → rec.1(check.0(x))
check.1(rec.1(x)) → rec.1(check.1(x))
rec.0(up.0(x)) → up.0(rec.0(x))
check.0(up.0(x)) → up.1(check.0(x))
rec.1(up.1(x)) → up.1(rec.1(x))
sent.1(up.1(x)) → up.1(sent.1(x))
rec.1(sent.1(x)) → sent.1(rec.1(x))
sent.0(up.0(x)) → up.0(sent.0(x))
check.0(sent.0(x)) → sent.1(check.0(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The approximation of the Dependency Graph [15,17,22] contains 1 SCC with 2 less nodes.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ QDPOrderProof
                                          ↳ QDP
                                            ↳ SemLabProof
                                              ↳ QDP
                                                ↳ DependencyGraphProof
QDP
                                                    ↳ UsableRulesReductionPairsProof
  ↳ QTRS Reverse

Q DP problem:
The TRS P consists of the following rules:

TOP.1(sent.1(up.1(x0))) → TOP.1(rec.1(check.1(x0)))
TOP.1(sent.1(up.1(sent.1(x0)))) → TOP.1(check.1(sent.1(rec.1(x0))))

The TRS R consists of the following rules:

rec.0(sent.0(x)) → sent.0(rec.0(x))
check.1(up.1(x)) → up.1(check.1(x))
check.1(sent.1(x)) → sent.1(check.1(x))
rec.0(bot.) → up.0(sent.0(bot.))
check.0(rec.0(x)) → rec.1(check.0(x))
check.1(rec.1(x)) → rec.1(check.1(x))
rec.0(up.0(x)) → up.0(rec.0(x))
check.0(up.0(x)) → up.1(check.0(x))
rec.1(up.1(x)) → up.1(rec.1(x))
sent.1(up.1(x)) → up.1(sent.1(x))
rec.1(sent.1(x)) → sent.1(rec.1(x))
sent.0(up.0(x)) → up.0(sent.0(x))
check.0(sent.0(x)) → sent.1(check.0(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
By using the usable rules with reduction pair processor [15] with a polynomial ordering [25], all dependency pairs and the corresponding usable rules [17] can be oriented non-strictly. All non-usable rules are removed, and those dependency pairs and usable rules that have been oriented strictly or contain non-usable symbols in their left-hand side are removed as well.

The following dependency pairs can be deleted:

TOP.1(sent.1(up.1(x0))) → TOP.1(rec.1(check.1(x0)))
TOP.1(sent.1(up.1(sent.1(x0)))) → TOP.1(check.1(sent.1(rec.1(x0))))
No rules are removed from R.

Used ordering: POLO with Polynomial interpretation [25]:

POL(TOP.1(x1)) = x1   
POL(check.1(x1)) = x1   
POL(rec.1(x1)) = x1   
POL(sent.1(x1)) = 1 + x1   
POL(up.1(x1)) = x1   



↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
    ↳ QTRS
      ↳ RRRPoloQTRSProof
        ↳ QTRS
          ↳ RRRPoloQTRSProof
            ↳ QTRS
              ↳ RRRPoloQTRSProof
                ↳ QTRS
                  ↳ DependencyPairsProof
                    ↳ QDP
                      ↳ DependencyGraphProof
                        ↳ AND
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                          ↳ QDP
                            ↳ UsableRulesProof
                            ↳ UsableRulesProof
                              ↳ QDP
                                ↳ Narrowing
                                  ↳ QDP
                                    ↳ DependencyGraphProof
                                      ↳ QDP
                                        ↳ QDPOrderProof
                                          ↳ QDP
                                            ↳ SemLabProof
                                              ↳ QDP
                                                ↳ DependencyGraphProof
                                                  ↳ QDP
                                                    ↳ UsableRulesReductionPairsProof
QDP
                                                        ↳ PisEmptyProof
  ↳ QTRS Reverse

Q DP problem:
P is empty.
The TRS R consists of the following rules:

check.1(up.1(x)) → up.1(check.1(x))
check.1(sent.1(x)) → sent.1(check.1(x))
check.1(rec.1(x)) → rec.1(check.1(x))
rec.1(up.1(x)) → up.1(rec.1(x))
rec.1(sent.1(x)) → sent.1(rec.1(x))
sent.1(up.1(x)) → up.1(sent.1(x))

Q is empty.
We have to consider all minimal (P,Q,R)-chains.
The TRS P is empty. Hence, there is no (P,Q,R) chain.
We have reversed the following QTRS:
The set of rules R is

rec(rec(x)) → sent(rec(x))
rec(sent(x)) → sent(rec(x))
rec(no(x)) → sent(rec(x))
rec(bot) → up(sent(bot))
rec(up(x)) → up(rec(x))
sent(up(x)) → up(sent(x))
no(up(x)) → up(no(x))
top(rec(up(x))) → top(check(rec(x)))
top(sent(up(x))) → top(check(rec(x)))
top(no(up(x))) → top(check(rec(x)))
check(up(x)) → up(check(x))
check(sent(x)) → sent(check(x))
check(rec(x)) → rec(check(x))
check(no(x)) → no(check(x))
check(no(x)) → no(x)

The set Q is empty.
We have obtained the following QTRS:

rec(rec(x)) → rec(sent(x))
sent(rec(x)) → rec(sent(x))
no(rec(x)) → rec(sent(x))
bot'(rec(x)) → bot'(sent(up(x)))
up(rec(x)) → rec(up(x))
up(sent(x)) → sent(up(x))
up(no(x)) → no(up(x))
up(rec(top(x))) → rec(check(top(x)))
up(sent(top(x))) → rec(check(top(x)))
up(no(top(x))) → rec(check(top(x)))
up(check(x)) → check(up(x))
sent(check(x)) → check(sent(x))
rec(check(x)) → check(rec(x))
no(check(x)) → check(no(x))
no(check(x)) → no(x)

The set Q is empty.

↳ QTRS
  ↳ QTRS Reverse
  ↳ RRRPoloQTRSProof
  ↳ QTRS Reverse
QTRS

Q restricted rewrite system:
The TRS R consists of the following rules:

rec(rec(x)) → rec(sent(x))
sent(rec(x)) → rec(sent(x))
no(rec(x)) → rec(sent(x))
bot'(rec(x)) → bot'(sent(up(x)))
up(rec(x)) → rec(up(x))
up(sent(x)) → sent(up(x))
up(no(x)) → no(up(x))
up(rec(top(x))) → rec(check(top(x)))
up(sent(top(x))) → rec(check(top(x)))
up(no(top(x))) → rec(check(top(x)))
up(check(x)) → check(up(x))
sent(check(x)) → check(sent(x))
rec(check(x)) → check(rec(x))
no(check(x)) → check(no(x))
no(check(x)) → no(x)

Q is empty.